Plugins/Community Based Plugins/Microsoft Defender XDR Custom Plugin Scenarios/EnrichmentPlugins/AlertEnrichment.yaml (65 lines of code) (raw):

Descriptor: Name: Alert Enrichment Skills DisplayName: Alert Enrichment Skills DescriptionForModel: |- A collection of KQL-based skills to enrich security alert investigations by: - Searching alert titles for specified keywords (e.g., "DLP policy") and returning key details, including `TimeGenerated`, `AlertId`, `Title`, `Category`, and `Severity`. - Retrieving evidence associated with specific alerts, such as: - Entity details: `EntityType`, `Title`, and `EvidenceRole`. - URL and email metadata: `RemoteUrl`, `AccountUpn`, `NetworkMessageId`, and `EmailSubject`. - File-related information: `FileName`, `FolderPath`, `SHA1`, `SHA256`, `FileSize`, and `ProcessCommandLine`. - Contextual data: `Categories`, `AttackTechniques`, `ServiceSource`, `DetectionSource`, `AdditionalFields`, `Severity`, and `Type`. - Highlighting `RemoteUrl` fields to identify potentially suspicious public domains for further investigation. This skill set provides detailed alert context, enabling users to prioritize alerts and perform thorough investigations efficiently. Description: A comprehensive set of KQL-based skills designed to enhance alert analysis by searching alert titles for specific keywords, retrieving detailed evidence, and providing contextual information to support effective security investigations. SkillGroups: - Format: KQL Skills: - Name: AlertTitleSearch DisplayName: Search Alert Title DescriptionForModel: |- Performs a KQL query to search the `AlertInfo` table for alerts containing a specified keyword in their title. Filters results by a specified time range (defaulting to the last 7 days) and returns the following details: - `TimeGenerated`: Timestamp of the alert. - `AlertId`: Unique identifier for the alert. - `Title`: Title of the alert. - `Category`: Categorization of the alert. - `Severity`: Severity level of the alert. Designed for identifying and analyzing alerts that match specific title keywords, helping to prioritize investigations. Description: Search for alerts in the Defender database that contain a specified keyword in their title. Returns key alert details, including time generated, alert ID, title, category, and severity, to assist in quickly identifying relevant alerts. Inputs: - Name: StringToSearch Description: A string from the Alert Title. Example 'DLP policy' Required: true - Name: TimeRange Description: The number of days to look back. Example 7d Required: false Settings: Target: Defender Template: |- AlertInfo | where Title contains "{{StringToSearch}}" | where TimeGenerated >= ago(7d) | project TimeGenerated, AlertId, Title, Category, Severity - Name: AlertEvidenceSearch DisplayName: Search AlertId for Evidence DescriptionForModel: |- Performs a KQL query on the `AlertEvidence` table to retrieve evidence related to a specified `AlertId`. Returns comprehensive details, including: - `EntityType`: The type of entity involved in the alert. - `RemoteUrl`: Associated URLs, highlighting those containing public domains for investigation. - `AccountUpn`: User account information related to the alert. - `NetworkMessageId` and `EmailSubject`: Metadata for email-based alerts. - `Title`: Evidence title summarizing the entity. - `Categories`, `AttackTechniques`, `ServiceSource`, `DetectionSource`: Contextual data about the alert. - `EvidenceRole`, `FileName`, `FolderPath`, `SHA1`, `SHA256`, `FileSize`, `ProcessCommandLine`: Key file-related details. - `AdditionalFields`, `Severity`, `Type`: Additional information to aid in the analysis. Designed to focus on associated URLs (`RemoteUrl`) and metadata to identify suspicious domains, accounts, or files for prioritizing and directing further investigation. Description: Retrieve detailed evidence associated with a specific alert using its AlertId. Provides insights into entity type, associated URLs, account information, email metadata, file details, and other contextual information to assist in investigations. Inputs: - Name: AlertId Description: The specific AlertId to search for evidence. Example dl3e6607b8-8ff6-7180-d400-08dcf2ab98ff Required: true Settings: Target: Defender Template: |- AlertEvidence | where AlertId == "{{AlertId}}"